home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-02-23 | 46.7 KB | 1,507 lines |
- This is rn 4.4 patch number 3 Part 3 of 3
-
- Please note that rn 4.4 on lib.tmc.edu, gazette.bcm.tmc.edu, bcm.tmc.edu
- and tmc.edu have all been updated to rn 4.4.3 and have this patch installed.
-
- Description: [Most changes came from trn's author, Wayne Davison]
-
- o Configure changes: check for active.times (see new-group comments
- below), termios systems (see termios comments later on), and also
- ask if ORGANIZATION should be ignored. This latter change allows
- systems that use the ORGANIZATION variable for their own purposes
- a chance to only use NEWSORG, thus allowing them to take advantage
- of the default if NEWSORG is undefined (without this, everyone who
- uses rn would _have_ to define NEWSORG to avoid the ORGANIZATION
- define).
- o Pnews.SH: support ignoring of ORGANIZATION; echo --> $echo;
- cat --> $cat.
- o Rnmail.SH: support ignoring of ORGANIZATION.
- o Many files: I've change the parameters of any function trying to
- pass a character (including bool) into a type_int (e.g. char_int).
- This avoids errors for ANSI compilers that don't believe that the
- promoted argument type is valid (they try to pass a char as a char,
- without promoting it to an int, and complain about the old syntax).
- o addng.c: the new new-group-finding code is in here. Optimized the
- writing/reading of newsgroup lists by using "w+" and rewinding the
- file. If ACTIVE_TIMES is defined, the new function find_new_groups()
- uses the NEWGROUPS command (in NNTP) or the ACTIVE_TIMES file (in
- regular rn) to determine new groups. If it's not defined, then the
- find_new_groups() function does the old method (using the code moved
- here from init.c).
- o added the DEB_NNTP define to output some useful NNTP debugging info
- without having all information scroll by like it does with the NNTP
- clientlib's debugging turned on.
- o I optimized a few of the sscanf's to use "%*d" to skip numbers
- that were being ignored, and removed the useless variables.
- o art.c: enhanced the Newsgroups-magic code to show the Newsgroups
- line if it doesn't match the current group. I find this really
- useful for browsing through junk or seeing which articles have
- been redirected with C new's '=' directive.
- o autosub.c: reordered the include files to avoid a problem with
- ANSI compilers.
- o bits.c: fixed a bug in the instr() call in the !NORELAY section
- (the ", TRUE" was in the wrong place).
- o common.h, etc: if TERMIOS is defined, include termios.h and use
- some slightly different term functions. Configure was smart enough
- to NOT set this for suns, and a few other systems that don't like it.
- o common.h: if __STDC__ is defined, turn on the ANSI() prototypes
- automatically.
- o common.h: nullstr[] = ""; actually generates a warning(!) on some
- weird compilers -- changed to nullstr[1] = "";.
- o common.h: "Can't recreate..." message is used in the .newnewsrc
- writing code.
- o config.h.SH: conditionalize the including of the config.sh file
- like the other .SH files do. Also added the new Configure stuff.
- o config.h.SH needs to have its RCS comment character changed to "# ".
- o config.h.SH: all the changes in the tail end are tab/space changes
- that force the code to look pretty in config.h no matter if it is
- preceded by a "#define" or a "/*#undef".
- o final.c: int_catcher() needs an int parameter to agree with ANSI
- compilers. sig_catcher() had an assumed int parameter warning.
- o init.c: more new-group changes (i.e. it calls find_new_groups(),
- and the old new-group code was moved to addng.c).
- o intrp.c: changes to support ignoring ORGANIZATION. A slight tweak
- allows the organization file not not end in a newline.
- o intrp.c: moved the tmpbuf[] into the #ifdefs where it is used (to
- avoid an "unused" warning. In the process, discovered a bug in the
- non-BSD code that tries to copy an uninitialized (now undefined) tmpbuf
- into buf (when it should be copying 's').
- o last.c: extended the contents of .rnlast to support the new-group
- code. Handles reading the old .rnlast style gracefully.
- o ng.c: reset the value of extractdest and extractprog when entering
- a newsgroup. This allows someone to set SAVEDIR to a roving value
- (like %c) and have an 'e' in group1 not affect an 'e' in group2.
- Within the group, each 'e' command will repeat the last destination
- and program if no parameters are used.
- o ng.c: note the values returned by the GROUP command in rrn so that
- we can add new articles that came in since our last fetch of the
- active file. I've upgraded the ngmax[] array to non-debug status,
- and now use it to keep the group's maximum value (like abs1st[]
- does for the minimum). This allows getngsize() to return a value
- higher than what is contained in the active file copy, and also
- to fetch a new copy of the active file if enough time has elapsed
- since our last fetch.
- o ng.c: fixed forcelast to get cleared before processing a command,
- and to get set on '-' just in case it goes to the end of the group.
- o ng.c: fixed some indent problems.
- o ngdata.c: added the lastactfetch variable (rrn) to keep track of
- when the active file copy was last fetched.
- o ngdata.c: getngsize() uses the value in ngmax[] to override the
- high active-file-copy value. If ngmax[] is bigger and enough time
- has gone by, a new copy of the active file is fetched.
- o ngdata.c: more indent tweaks.
- o ngdata.c: fixed a1st to be a long (it might have been int or long,
- and sscanf() was expecting an int), and added "last" to sscanf the
- high newsgroup value at the same time abs1st is being set. Fixed
- a problem with the sscanf being executed if the NNTP command failed.
- o ngdata.c: minor tweak to the "notdef" comment to make it accurate.
- o ngdata.h: MINFETCHTIME is set for 5 minutes before another active
- fetch is allowed.
- o rcln.c: minor optimization to remove tmpp; removed #ifdef DEBUGGING
- around the ngmax[] array; put \n's before the bogus newsgroup
- warnings.
- o Allow some slack in the "newsgroup was reset" check to allow for the
- interaction of the ngmax[] array setting a high value in .newsrc
- that a cached version of the active file doesn't reflect yet (can
- happen when starting up rn in some rare cases).
- o rcstuff.c: broke out the code that parses the newsrc line into the
- function parse_rcline(). This allows the addition of a new function,
- abandon_ng() that restores the startup values for the current group
- from the .oldnewsrc file (bound to the 'A' command at the newsgroup
- level).
- o rcstuff.c: made addnewbydefault a global variable so that it could
- be reset by the 'a' command. Without this, typing 'N' during the
- startup code would render the 'a' command useless, since all the
- groups you might want to add get an immediate 'n'o answer.
- o rcstuff.c: the "if (mode == 'i')" check is needed to keep the
- new-newsgroup-finding code sane.
- o rcstuff.c: I changed the code to add groups with a space after
- the ":" or "!". It's not really required, but it avoids having the
- construct "group!187,193" show up in your .newsrc file when cross-
- posted articles are marked as read for unsubscribed groups.
- o rcstuff.c: the .newnewsrc-writing code uses the "cantrecreate"
- message from common.h, and the comments and indentation are fixed,
- as well as one extra ferror() check added.
- o rcstuff.c: the newsrc-array-growing code now zeros the ngnum array.
- o respond.c: moved a negation used with strlen() to avoid problems if
- strlen() is declared to be unsigned.
- o respond.c: changed the behavior of the 'f' command to ask the
- user if it is an unrelated topic.
- o rn.c: added the "direction" flag that makes the 'p' and 'P' command
- work in all circumstances. Without this, if you have a restriction
- enabled and an empty non-matching group in the way, it won't backup
- at all (and might even go forward!).
- o rn.c: your change for outputting the prompt later in the game allows
- for the removal of the reprompt_newsgroup label with the moving of
- the dfltcmd initialization also.
- o rn.c: when rrn visits the end of the newsgroups prompt, it will
- fetch a new copy of the active file if enough time has elapsed.
- o rn.c: changed the "not found" prompt to mention the 'a' command
- (which is much more useful than 'g' alone). Made 'g's error
- message a little more clear too.
- o rn.c: more indentation twiddles.
- o rn.c: removed the check for ' ' from the catchup code, because it's
- getting changed into the default command by setdef().
- o rn.c: added the 'A' command to abandon the current newsgroup's
- changes back to the startup state (which is contained in .oldnewsrc).
- o rn.c: have the 'a' command reset addnewbydefault to 0.
- o term.c: renamed ospeed "outspeed" so that it doesn't conflict with
- some weird system's polution of the name space.
- o term.c: support for the termios systems added.
- o term.c: winch_catcher() needed an int parameter for ANSI systems.
- o util.c: reorganized a couple returns to avoid warnings about not
- returning a value in a function.
- o Configure now knows about DG Avion.
-
- Install this patch using Larry Wall's patch program. You MUST install all
- three parts or you will not have a functional program.
-
- Index: ndir.h.SH
- Prereq: 4.4
- *** ndir.h.SH Sat Nov 9 14:42:43 1991
- --- ../rn4.4.3/ndir.h.SH Sat Feb 22 21:53:53 1992
- ***************
- *** 7,18 ****
- * gets its values from config.sh, which is generally produced by
- * running Configure.
- */
- ! /* $Id: ndir.h.SH,v 4.4 1991/09/09 20:23:31 sob Exp sob $
- *
- * $Log: ndir.h.SH,v $
- ! # Revision 4.4 1991/09/09 20:23:31 sob
- ! # release 4.4
- ! #
- *
- *
- */
- --- 7,18 ----
- * gets its values from config.sh, which is generally produced by
- * running Configure.
- */
- ! /* $Id: ndir.h.SH,v 4.4 1991/09/09 20:23:31 sob Exp $
- *
- * $Log: ndir.h.SH,v $
- ! *Revision 4.4 1991/09/09 20:23:31 sob
- ! *release 4.4
- ! *
- *
- *
- */
- Index: ng.c
- Prereq: 4.4
- *** ng.c Sat Nov 9 14:41:47 1991
- --- ../rn4.4.3/ng.c Sat Feb 22 21:54:29 1992
- ***************
- *** 1,6 ****
- ! /* $Id: ng.c,v 4.4 1991/09/09 20:23:31 sob Exp sob $
- *
- * $Log: ng.c,v $
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- --- 1,9 ----
- ! /* $Id: ng.c,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- *
- * $Log: ng.c,v $
- + * Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + * Release 4.4 Patchlevel 3
- + *
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- ***************
- *** 135,147 ****
- --- 138,167 ----
- recent_art = curr_art = -1;
- exit_code = NG_NORM;
-
- + if (extractdest) {
- + free(extractdest);
- + extractdest = Nullch;
- + }
- + if (extractprog) {
- + free(extractprog);
- + extractprog = Nullch;
- + }
- +
- #ifdef SERVER
- sprintf(ser_line, "GROUP %s", ngname);
- + #ifdef DEBUGGING
- + if (debug & DEB_NNTP)
- + printf(">%s\n", ser_line) FLUSH;
- + #endif
- put_server(ser_line);
- if (nntp_get(ser_line, sizeof(ser_line)) < 0) {
- fprintf(stderr, "\nrrn: Unexpected close of server socket.\n");
- finalize(1);
- }
- + #ifdef DEBUGGING
- + if (debug & DEB_NNTP)
- + printf("<%s\n", ser_line) FLUSH;
- + #endif
- if (*ser_line != CHAR_OK) {
- if (atoi(ser_line) != ERR_NOGROUP){
- fprintf(stderr, "\nrrn: server response to GROUP %s:\n%s\n",
- ***************
- *** 150,155 ****
- --- 170,184 ----
- }
- return (-1);
- }
- + {
- + long first, last;
- +
- + (void) sscanf(ser_line,"%*d%*d%ld%ld",&first,&last);
- + ngmax[ng] = last; /* ensure getngsize() knows the new maximum */
- + # ifdef CACHEFIRST
- + abs1st[ng] = first;
- + # endif
- + }
- #else /* not SERVER */
- if (eaccess(ngdir,5)) { /* directory read protected? */
- if (eaccess(ngdir,0)) {
- ***************
- *** 164,171 ****
- #endif
- #ifdef CATCHUP
- catch_up(ng);
- ! #endif
- toread[ng] = TR_NONE;
- }
- else {
- #ifdef VERBOSE
- --- 193,201 ----
- #endif
- #ifdef CATCHUP
- catch_up(ng);
- ! #else
- toread[ng] = TR_NONE;
- + #endif
- }
- else {
- #ifdef VERBOSE
- ***************
- *** 471,476 ****
- --- 501,507 ----
- fflush(stdout);
- reinp_article:
- reread = FALSE;
- + forcelast = FALSE;
- eat_typeahead();
- #ifdef PENDING
- look_ahead(); /* see what we can do in advance */
- ***************
- *** 524,532 ****
- }
- putchar('\n') FLUSH;
- #ifdef DELAYMARK
- ! yankback(); /* do a Y command */
- #endif
- ! restore_ng(); /* reconstitute .newsrc line */
- doing_ng = FALSE; /* tell sig_catcher to cool it */
- free(ctlarea); /* return the control area */
- #ifdef CACHESUBJ
- --- 555,563 ----
- }
- putchar('\n') FLUSH;
- #ifdef DELAYMARK
- ! yankback(); /* do a Y command */
- #endif
- ! restore_ng(); /* reconstitute .newsrc line */
- doing_ng = FALSE; /* tell sig_catcher to cool it */
- free(ctlarea); /* return the control area */
- #ifdef CACHESUBJ
- ***************
- *** 610,615 ****
- --- 641,647 ----
- if (recent_art >= 0) {
- art = recent_art;
- reread = TRUE;
- + forcelast = TRUE;
- #ifdef ARTSEARCH
- srchahead = -(srchahead != 0);
- #endif
- ***************
- *** 949,954 ****
- --- 981,988 ----
- #endif
- if (art <= lastart)
- reread = TRUE;
- + else
- + forcelast = TRUE;
- return AS_NORM;
- #ifdef ROTATION
- case 'X':
- ***************
- *** 1078,1082 ****
- else
- #endif
- dfltcmd = "npq";
- ! }
- }
- --- 1112,1116 ----
- else
- #endif
- dfltcmd = "npq";
- ! }
- }
- Index: ngdata.c
- Prereq: 4.4.2.1
- *** ngdata.c Sun Dec 1 12:09:28 1991
- --- ../rn4.4.3/ngdata.c Sat Feb 22 21:54:58 1992
- ***************
- *** 1,6 ****
- ! /* $Id: ngdata.c,v 4.4.2.1 1991/12/01 18:05:42 sob PATCH_2 sob $
- *
- * $Log: ngdata.c,v $
- * Revision 4.4.2.1 1991/12/01 18:05:42 sob
- * Patchlevel 2 changes
- *
- --- 1,9 ----
- ! /* $Id: ngdata.c,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- *
- * $Log: ngdata.c,v $
- + * Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + * Release 4.4 Patchlevel 3
- + *
- * Revision 4.4.2.1 1991/12/01 18:05:42 sob
- * Patchlevel 2 changes
- *
- ***************
- *** 31,36 ****
- --- 34,40 ----
- #include "ndir.h"
- #include "rcstuff.h"
- #include "rn.h"
- + #include "ng.h"
- #include "intrp.h"
- #include "final.h"
- #include "rcln.h"
- ***************
- *** 49,60 ****
- --- 53,73 ----
- /* open the active file */
-
- #ifdef SERVER
- + #ifdef DEBUGGING
- + if (debug & DEB_NNTP)
- + printf(">LIST\n") FLUSH;
- + #endif
- put_server("LIST"); /* tell server we want the active file */
- nntp_get(ser_line, sizeof(ser_line));
- + #ifdef DEBUGGING
- + if (debug & DEB_NNTP)
- + printf("<%s\n", ser_line) FLUSH;
- + #endif
- if (*ser_line != CHAR_OK) { /* and then see if that's ok */
- fprintf(stdout, "Can't get active file from server: \n%s\n", ser_line);
- finalize(1);
- }
- + time(&lastactfetch);
-
- cp = filexp("%P/rrnact.%$"); /* make a temporary name */
- strcpy(active_name, cp);
- ***************
- *** 112,117 ****
- --- 125,131 ----
- register char *nam;
- char tmpbuf[80];
- ART_POS oldsoft;
- + long last;
-
- nam = rcline[num];
- len = rcnums[num] - 1;
- ***************
- *** 140,146 ****
- }
- #endif
- {
- ! register char *s, ch;
- ART_NUM tmp;
-
- for (s=tmpbuf+len+1; isdigit(*s); s++) ;
- --- 154,160 ----
- }
- #endif
- {
- ! register char *s;
- ART_NUM tmp;
-
- for (s=tmpbuf+len+1; isdigit(*s); s++) ;
- ***************
- *** 155,162 ****
- if (!in_ng) {
- for (s++; isdigit(*s); s++) ;
- while (isspace(*s)) s++;
- ! ch = *s;
- ! switch (ch) {
- case 'n': moderated = getval("NOPOSTRING"," (no posting)"); break;
- case 'm': moderated = getval("MODSTRING", " (moderated)"); break;
- /* This shouldn't even occur. What are we doing in a non-existent
- --- 169,175 ----
- if (!in_ng) {
- for (s++; isdigit(*s); s++) ;
- while (isspace(*s)) s++;
- ! switch (*s) {
- case 'n': moderated = getval("NOPOSTRING"," (no posting)"); break;
- case 'm': moderated = getval("MODSTRING", " (moderated)"); break;
- /* This shouldn't even occur. What are we doing in a non-existent
- ***************
- *** 170,176 ****
- }
- }
- }
- ! return atol(tmpbuf+len+1);
- }
-
- ACT_POS
- --- 183,199 ----
- }
- }
- }
- ! last = atol(tmpbuf+len+1);
- ! if (last < ngmax[num]) {
- ! #ifdef SERVER
- ! if (time(Null(time_t*)) - lastactfetch > MINFETCHTIME) {
- ! fclose(actfp);
- ! ngdata_init(); /* re-grab the active file */
- ! }
- ! #endif
- ! return ngmax[num];
- ! }
- ! return (ART_NUM)last;
- }
-
- ACT_POS
- ***************
- *** 204,220 ****
- #ifndef lint
- retval = (ACT_POS) ftell(actfp);
- #endif /* lint */
- ! if (ferror(actfp)) {
- ! perror("error on active file");
- ! /* something is wrong */
- ! sig_catcher(0);
- ! }
- }
- if(ferror(actfp)) {
- perror("error on active file");
- sig_catcher(0);
- }
- ! return (ACT_POS) -1; /* well, not so quietly, actually */
- }
- else
- #ifndef lint
- --- 227,242 ----
- #ifndef lint
- retval = (ACT_POS) ftell(actfp);
- #endif /* lint */
- ! if (ferror(actfp)) {
- ! perror("error on active file"); /* something is wrong */
- ! sig_catcher(0);
- ! }
- }
- if(ferror(actfp)) {
- perror("error on active file");
- sig_catcher(0);
- }
- ! return (ACT_POS) -1;
- }
- else
- #ifndef lint
- ***************
- *** 232,241 ****
- register NG_NUM ngnum;
- ART_NUM ngsize;
- {
- ! ART_NUM a1st;
- #ifdef CACHEFIRST
- if (a1st = abs1st[ngnum])
- ! return a1st;
- #endif
- #ifdef MININACT
- getngsize(ngnum);
- --- 254,264 ----
- register NG_NUM ngnum;
- ART_NUM ngsize;
- {
- ! long a1st, last;
- !
- #ifdef CACHEFIRST
- if (a1st = abs1st[ngnum])
- ! return (ART_NUM)a1st;
- #endif
- #ifdef MININACT
- getngsize(ngnum);
- ***************
- *** 245,270 ****
- return abs1st;
- # endif
- #else
- - ART_NUM x,y;
- getngsize(ngnum); /* set moderated as side effect */
- sprintf(ser_line,"GROUP %s",rcline[ngnum]);
- put_server(ser_line);
- if (nntp_get(ser_line, sizeof(ser_line)) < 0) {
- fprintf(stderr, "\nrrn: Unexpected close of server socket.\n");
- finalize(1);
- }
- if (*ser_line == CHAR_FATAL){
- fprintf(stderr,"\nrrn: %s\n",ser_line);
- finalize(1);
- }
- ! if (*ser_line != CHAR_OK) { /* and then see if that's ok */
- a1st = ngsize+1; /* nothing there */
- }
- - (void) sscanf(ser_line,"%d%d%d",&x,&y,&a1st);
- # ifdef CACHEFIRST
- ! abs1st[ngnum] = a1st;
- # endif
- ! return a1st;
- #endif
- }
- /* we already know the lowest article number with NNTP */
- --- 268,302 ----
- return abs1st;
- # endif
- #else
- getngsize(ngnum); /* set moderated as side effect */
- sprintf(ser_line,"GROUP %s",rcline[ngnum]);
- + #ifdef DEBUGGING
- + if (debug & DEB_NNTP)
- + printf(">%s\n", ser_line) FLUSH;
- + #endif
- put_server(ser_line);
- if (nntp_get(ser_line, sizeof(ser_line)) < 0) {
- fprintf(stderr, "\nrrn: Unexpected close of server socket.\n");
- finalize(1);
- }
- + #ifdef DEBUGGING
- + if (debug & DEB_NNTP)
- + printf("<%s\n", ser_line) FLUSH;
- + #endif
- if (*ser_line == CHAR_FATAL){
- fprintf(stderr,"\nrrn: %s\n",ser_line);
- finalize(1);
- }
- ! if (*ser_line != CHAR_OK) /* and then see if that's ok */
- a1st = ngsize+1; /* nothing there */
- + else {
- + (void) sscanf(ser_line,"%*d%*d%ld%ld",&a1st,&last);
- + ngmax[ngnum] = last;
- }
- # ifdef CACHEFIRST
- ! abs1st[ngnum] = (ART_NUM)a1st;
- # endif
- ! return (ART_NUM)a1st;
- #endif
- }
- /* we already know the lowest article number with NNTP */
- ***************
- *** 324,330 ****
- --- 356,364 ----
- register ART_NUM min = 1000000;
- register ART_NUM maybe;
- register char *p;
- + #ifdef notdef
- char tmpbuf[128];
- + #endif
-
- dirp = opendir(dirname);
- if (!dirp)
- ***************
- *** 336,343 ****
- goto nope;
- #ifdef notdef
- /*
- ! * If newsgroup names have numbers in them as the first
- ! * character, then this code will have to be reinserted.
- * For the time being, we assume that if a numeric name is
- * found, it must be an article (and not a directory).
- * This will avoid two stat(2) calls for those running
- --- 370,377 ----
- goto nope;
- #ifdef notdef
- /*
- ! * If newsgroup names ever go entirely numeric, then
- ! * this code will have to be reinserted.
- * For the time being, we assume that if a numeric name is
- * found, it must be an article (and not a directory).
- * This will avoid two stat(2) calls for those running
- Index: ngdata.h
- Prereq: 4.4
- *** ngdata.h Sat Nov 9 14:41:30 1991
- --- ../rn4.4.3/ngdata.h Sat Feb 22 21:53:57 1992
- ***************
- *** 1,6 ****
- ! /* $Id: ngdata.h,v 4.4 1991/09/09 20:23:31 sob Exp sob $
- *
- * $Log: ngdata.h,v $
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- --- 1,9 ----
- ! /* $Id: ngdata.h,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- *
- * $Log: ngdata.h,v $
- + * Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + * Release 4.4 Patchlevel 3
- + *
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- ***************
- *** 26,31 ****
- --- 29,36 ----
-
- #ifdef SERVER
- EXT char active_name[MAXFILENAME];
- + EXT time_t lastactfetch INIT(0);
- + #define MINFETCHTIME (5 * 60)
- #endif
-
- #ifdef CACHEFIRST
- Index: ngsrch.c
- Prereq: 4.4
- *** ngsrch.c Sat Nov 9 14:42:38 1991
- --- ../rn4.4.3/ngsrch.c Sat Feb 22 21:55:14 1992
- ***************
- *** 1,6 ****
- ! /* $Id: ngsrch.c,v 4.4 1991/09/09 20:23:31 sob Exp sob $
- *
- * $Log: ngsrch.c,v $
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- --- 1,9 ----
- ! /* $Id: ngsrch.c,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- *
- * $Log: ngsrch.c,v $
- + * Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + * Release 4.4 Patchlevel 3
- + *
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- ***************
- *** 123,130 ****
- ng_comp(compex,pattern,RE,fold)
- COMPEX *compex;
- char *pattern;
- ! bool RE;
- ! bool fold;
- {
- char ng_pattern[128];
- register char *s = pattern, *d = ng_pattern;
- --- 126,133 ----
- ng_comp(compex,pattern,RE,fold)
- COMPEX *compex;
- char *pattern;
- ! bool_int RE;
- ! bool_int fold;
- {
- char ng_pattern[128];
- register char *s = pattern, *d = ng_pattern;
- Index: ngsrch.h
- Prereq: 4.4
- *** ngsrch.h Sat Nov 9 14:41:32 1991
- --- ../rn4.4.3/ngsrch.h Sat Feb 22 21:54:00 1992
- ***************
- *** 1,6 ****
- ! /* $Id: ngsrch.h,v 4.4 1991/09/09 20:23:31 sob Exp sob $
- *
- * $Log: ngsrch.h,v $
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- --- 1,9 ----
- ! /* $Id: ngsrch.h,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- *
- * $Log: ngsrch.h,v $
- + * Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + * Release 4.4 Patchlevel 3
- + *
- * Revision 4.4 1991/09/09 20:23:31 sob
- * release 4.4
- *
- ***************
- *** 36,40 ****
- bool ng_wanted ANSI((void));
- #endif
- #ifdef NGSORONLY
- ! char *ng_comp ANSI((COMPEX *,char *,bool,bool));
- #endif
- --- 39,43 ----
- bool ng_wanted ANSI((void));
- #endif
- #ifdef NGSORONLY
- ! char *ng_comp ANSI((COMPEX *,char *,bool_int,bool_int));
- #endif
- Index: Configure
- Prereq: 4.4.2.1
- *** Configure Sun Dec 1 12:10:51 1991
- --- ../rn4.4.3/Configure Sat Feb 22 21:54:17 1992
- ***************
- *** 15,23 ****
- # If these # comments don't work, trim them. Don't worry about the other
- # shell scripts, Configure will trim # comments from them for you.
- #
- ! # $Id: Configure,v 4.4.2.1 1991/12/01 18:05:42 sob PATCH_2 sob $
- #
- # $Log: Configure,v $
- # Revision 4.4.2.1 1991/12/01 18:05:42 sob
- # Patchlevel 2 changes
- #
- --- 15,26 ----
- # If these # comments don't work, trim them. Don't worry about the other
- # shell scripts, Configure will trim # comments from them for you.
- #
- ! # $Id: Configure,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- #
- # $Log: Configure,v $
- + # Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + # Release 4.4 Patchlevel 3
- + #
- # Revision 4.4.2.1 1991/12/01 18:05:42 sob
- # Patchlevel 2 changes
- #
- ***************
- *** 99,104 ****
- --- 102,108 ----
- spool=''
- active=''
- myactive=''
- + activetimes=''
- mininact=''
- pref=''
- defeditor=''
- ***************
- *** 125,130 ****
- --- 129,135 ----
- usgnam=''
- whoami=''
- termio=''
- + termios=''
- fcntl=''
- ioctl=''
- ptem=''
- ***************
- *** 145,150 ****
- --- 150,156 ----
- isrrn=''
- rdchk=''
- serverfile=''
- + ignoreorg=''
- NNTPSRC=''
- CONFIG=''
-
- ***************
- *** 584,589 ****
- --- 590,612 ----
- rrninclude="-DUSG"
- socketlib=
- fi
- +
- + : check for DGUX
- + cat <<'EOT' >DGUX.c
- + #ifdef DGUX
- + exit 0
- + #else
- + exit 1
- + #endif
- + EOT
- + $cpp DGUX.c | grep exit >DGUX
- + chmod +x DGUX
- + $eunicefix DGUX
- + rm DGUX.c
- + if DGUX; then
- + echo "This appears to be a DG AViiON..."
- + fi
- +
- : check for sgi
- cat <<'EOT' >sgi.c
- #ifdef sgi
- ***************
- *** 1131,1136 ****
- --- 1154,1183 ----
- esac
- done
-
- + : Decide whether to ignore the ORGANIZATION environment variable
- + cat <<'EOM'
- +
- + Rn normally looks in the environment variables NEWSORG and ORGANIZATION
- + for an overriding organization name. However, if your operating system
- + reserves the environment variable ORGANIZATION for non-News purposes,
- + you will want to ignore it and only have rn check for NEWSORG.
- +
- + EOM
- +
- + case "$ignoreorg" in
- + define) dflt=y ;;
- + *) dflt=n ;;
- + esac
- + $echo $n "Should we ignore ORGANIZATION? [$dflt] $c"
- + . myread
- + case "$ans" in
- + '') ans="$dflt";;
- + esac
- + case "$ans" in
- + y*) ignoreorg=define ;;
- + *) ignoreorg=undef ;;
- + esac
- +
- : get news administrator name
- case "$newsadmin" in
- '')
- ***************
- *** 1605,1626 ****
- whoami=undef
- fi
-
- ! : see if this is a termio system
- ! ultrix ; ultrix=$?
- ! sun ; sun=$?
- ! pyr ; pyr=$?
- ! if $test -r /usr/include/termio.h -a $ultrix -ne 0 -a $sun -ne 0 -a $pyr -ne 0; then
- ! termio=define
- ! $echo "termio.h found."
- ! else
- ! if $test -r /usr/include/sgtty.h ; then
- ! termio=undef
- ! $echo "sgtty.h found."
- ! else
- ! termio=undef
- ! $echo "Neither termio.h nor sgtty.h found--you could have problems."
- ! fi
- fi
-
- : see if this system has fcntl
- if $test -r /usr/include/fcntl.h ; then
- --- 1652,1685 ----
- whoami=undef
- fi
-
- ! : see if this is a termio/termios/sgtty system
- ! if ultrix || sun || pyr ; then
- ! termio=undef
- ! termios=undef
- ! $echo "Using sgtty.h"
- ! else
- ! if $test -r /usr/include/termio.h ; then
- ! termio=define
- ! termios=undef
- ! $echo "termio.h found."
- ! else
- ! if test -d /usr/convex ; then
- ! termio=undef
- ! termios=define
- ! $echo "termios.h found."
- ! else
- ! if $test -r /usr/include/sgtty.h ; then
- ! termio=undef
- ! termios=undef
- ! $echo "sgtty.h found."
- ! else
- ! termio=undef
- ! termios=undef
- ! $echo "Neither termio.h nor sgtty.h found--you could have problems."
- ! fi
- ! fi
- fi
- + fi
-
- : see if this system has fcntl
- if $test -r /usr/include/fcntl.h ; then
- ***************
- *** 1667,1672 ****
- --- 1726,1736 ----
- getcwd=undef
- getwd=define
- else
- + if DGUX; then
- + $echo "I know DG/UX has getwd()."
- + getcwd=undef
- + getwd=define
- + else
- : see if the system has getcwd
- if $contains '^getcwd$' libc.list >/dev/null 2>&1 ; then
- $echo "getcwd() found."
- ***************
- *** 1677,1682 ****
- --- 1741,1747 ----
- getwd=undef
- fi
- fi
- + fi
-
- : see if there is a vfork
- if $contains '^vfork$' libc.list >/dev/null 2>&1 ; then
- ***************
- *** 2083,2089 ****
- *) dflt="$active";;
- esac
- case "$isrrn" in
- ! define) myactive=.falseactive;;
- *) myactive='blurfl/dyick'
- esac
- while $test ! -f "$myactive"; do
- --- 2148,2176 ----
- *) dflt="$active";;
- esac
- case "$isrrn" in
- ! define) myactive=.falseactive
- ! : check for active.times
- ! case "$activetimes" in
- ! ''|none|nntp) dflt="n";;
- ! *) dflt="y";;
- ! esac
- ! cat <<'EOM'
- !
- ! If your server maintains an accurate "active.times" file (as C news does), rn
- ! can make use of the much better NEWGROUPS call in NNTP to find new groups.
- ! Otherwise, the old method will suffice.
- !
- ! EOM
- ! $echo $n "Will your server support a reliable NEWGROUPS call? [$dflt] $c"
- ! . myread
- ! case "$ans" in
- ! '') ans="$dflt";;
- ! esac
- ! case "$ans" in
- ! y*) activetimes="nntp";;
- ! *) activetimes='none';;
- ! esac
- ! ;;
- *) myactive='blurfl/dyick'
- esac
- while $test ! -f "$myactive"; do
- ***************
- *** 2114,2119 ****
- --- 2201,2236 ----
- myactive=$myactive/active
- active=$active/active
- fi
- + : check for active.times
- + case "$activetimes" in
- + ''|nntp) dflt="${active}.times";;
- + *) dflt="$activetimes";;
- + esac
- + if $test "$dflt " = "none " -o ! -f $dflt ; then
- + $cat <<'EOM'
- +
- + If rn can use a file called active.times it can greatly speed up the
- + newgroup-checking code. If you have access to a file maintained by C news,
- + use that. Or you can install acttimes to maintain an active.times file
- + for you. Otherwise, specify "none" for the good ol' slow approach.
- +
- + EOM
- + else
- + $cat <<EOM
- +
- + -- Found $dflt --
- + If this file is being maintained by C news, mthreads -t, or some other means,
- + you'll probably want to use it to greatly speed up the newgroup code. If not
- + use "none" to indicate the good ol' slow approach.
- +
- + EOM
- + fi
- + $echo $n "Active.times file to use or 'none'? [$dflt] $c"
- + . myread
- + case "$ans" in
- + '') ans="$dflt";;
- + esac
- + activetimes="$ans"
- done
-
- : check for 2.10.2 and above
- ***************
- *** 2616,2621 ****
- --- 2733,2739 ----
- spool='$spool'
- active='$active'
- myactive='$myactive'
- + activetimes='$activetimes'
- mininact='$mininact'
- pref='$pref'
- defeditor='$defeditor'
- ***************
- *** 2660,2665 ****
- --- 2778,2784 ----
- rdchk='$rdchk'
- isrrn='$isrrn'
- serverfile='$serverfile'
- + ignoreorg='$ignoreorg'
- NNTPSRC='$NNTPSRC'
- CONFIG=true
- EOT
- Index: Makefile.SH
- Prereq: 4.4.2.1
- *** Makefile.SH Sun Dec 1 12:06:24 1991
- --- ../rn4.4.3/Makefile.SH Sat Feb 22 21:55:08 1992
- ***************
- *** 3,9 ****
- esac
- echo "Extracting Makefile (with variable substitutions)"
- $cat >Makefile <<!GROK!THIS!
- ! # $Id: Makefile.SH,v 4.4.2.1 1991/12/01 18:05:42 sob PATCH_2 sob $
- #
- # This software is Copyright 1991 by Stan Barber.
- #
- --- 3,9 ----
- esac
- echo "Extracting Makefile (with variable substitutions)"
- $cat >Makefile <<!GROK!THIS!
- ! # $Id: Makefile.SH,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- #
- # This software is Copyright 1991 by Stan Barber.
- #
- ***************
- *** 18,23 ****
- --- 18,26 ----
- # is at the user's own risk.
- #
- # $Log: Makefile.SH,v $
- + # Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + # Release 4.4 Patchlevel 3
- + #
- # Revision 4.4.2.1 1991/12/01 18:05:42 sob
- # Changed clientlib to be built in the rn tree instead of the nntp tree.
- #
- ***************
- *** 82,88 ****
- add2 = bsd config.h config.sh eunice filexp
- add3 = loc makedepend makedir mbox.saver ndir.h newsetup
- add4 = newsgroups newsnews norm.saver
- ! add5 = pdp11 usg v7 ultrix sun hp-ux sgi xenix next server.h mips uts
- add6 = all pyr grimble .falseactive Pnews.header s5uniq sigtest stardent
-
- addedbyconf = $(add1) $(add2) $(add3) $(add4) $(add5) $(add6)
- --- 85,91 ----
- add2 = bsd config.h config.sh eunice filexp
- add3 = loc makedepend makedir mbox.saver ndir.h newsetup
- add4 = newsgroups newsnews norm.saver
- ! add5 = pdp11 usg v7 ultrix sun hp-ux sgi xenix next server.h mips uts DGUX
- add6 = all pyr grimble .falseactive Pnews.header s5uniq sigtest stardent
-
- addedbyconf = $(add1) $(add2) $(add3) $(add4) $(add5) $(add6)
- ***************
- *** 119,124 ****
- --- 122,128 ----
- - if test `pwd` != $(rnbin); then cp $(public) $(rnbin); fi
- - if test `pwd` != $(rnbin); then cd $(rnbin); chmod 755 $(public); strip rn ; fi
- - ./makedir `./filexp $(rnlib)`
- + - chmod 755 `./filexp $(rnlib)`
- - if test `pwd` != `./filexp $(rnlib)`; then cp INIT $(private) `./filexp $(rnlib)`; fi
- #NNTP - if test `pwd` != `./filexp $(rnlib)`; then strip `./filexp $(rnlib)`/getactive ; fi
- - if test ! -f `./filexp $(rnlib)/newsnews`; then cp newsnews `./filexp $(rnlib)`; fi
- ***************
- *** 126,131 ****
- --- 130,136 ----
- - if test `pwd` != $(mansrc); then \
- for page in $(manpages); do \
- cp $$page $(mansrc)/`basename $$page .1`.$(manext); \
- + chmod 444 $(mansrc)/`basename $$page .1`.$(manext); \
- done; \
- #NNTPecho ".so man$(manext)/rn.$(manext)" > $(mansrc)/rrn.$(manext) ; \
- fi
- Index: NEW
- *** ../NEW Sun Dec 1 12:13:55 1991
- --- ../../rn4.4.3/NEW Sat Feb 22 21:54:52 1992
- ***************
- *** 1,3 ****
- --- 1,152 ----
- + NEW FEATURES OF RN 4.4.3
- + o Configure changes: check for active.times (see new-group comments
- + below), termios systems (see termios comments later on), and also
- + ask if ORGANIZATION should be ignored. This latter change allows
- + systems that use the ORGANIZATION variable for their own purposes
- + a chance to only use NEWSORG, thus allowing them to take advantage
- + of the default if NEWSORG is undefined (without this, everyone who
- + uses rn would _have_ to define NEWSORG to avoid the ORGANIZATION
- + define).
- + o Pnews.SH: support ignoring of ORGANIZATION; echo --> $echo;
- + cat --> $cat.
- + o Rnmail.SH: support ignoring of ORGANIZATION.
- + o Many files: I've change the parameters of any function trying to
- + pass a character (including bool) into a type_int (e.g. char_int).
- + This avoids errors for ANSI compilers that don't believe that the
- + promoted argument type is valid (they try to pass a char as a char,
- + without promoting it to an int, and complain about the old syntax).
- + o addng.c: the new new-group-finding code is in here. Optimized the
- + writing/reading of newsgroup lists by using "w+" and rewinding the
- + file. If ACTIVE_TIMES is defined, the new function find_new_groups()
- + uses the NEWGROUPS command (in NNTP) or the ACTIVE_TIMES file (in
- + regular rn) to determine new groups. If it's not defined, then the
- + find_new_groups() function does the old method (using the code moved
- + here from init.c).
- + o added the DEB_NNTP define to output some useful NNTP debugging info
- + without having all information scroll by like it does with the NNTP
- + clientlib's debugging turned on.
- + o I optimized a few of the sscanf's to use "%*d" to skip numbers
- + that were being ignored, and removed the useless variables.
- + o art.c: enhanced the Newsgroups-magic code to show the Newsgroups
- + line if it doesn't match the current group. I find this really
- + useful for browsing through junk or seeing which articles have
- + been redirected with C new's '=' directive.
- + o autosub.c: reordered the include files to avoid a problem with
- + ANSI compilers.
- + o bits.c: fixed a bug in the instr() call in the !NORELAY section
- + (the ", TRUE" was in the wrong place).
- + o common.h, etc: if TERMIOS is defined, include termios.h and use
- + some slightly different term functions. Configure was smart enough
- + to NOT set this for suns, and a few other systems that don't like it.
- + o common.h: if __STDC__ is defined, turn on the ANSI() prototypes
- + automatically.
- + o common.h: nullstr[] = ""; actually generates a warning(!) on some
- + weird compilers -- changed to nullstr[1] = "";.
- + o common.h: "Can't recreate..." message is used in the .newnewsrc
- + writing code.
- + o config.h.SH: conditionalize the including of the config.sh file
- + like the other .SH files do. Also added the new Configure stuff.
- + o config.h.SH needs to have its RCS comment character changed to "# ".
- + o config.h.SH: all the changes in the tail end are tab/space changes
- + that force the code to look pretty in config.h no matter if it is
- + preceded by a "#define" or a "/*#undef".
- + o final.c: int_catcher() needs an int parameter to agree with ANSI
- + compilers. sig_catcher() had an assumed int parameter warning.
- + o init.c: more new-group changes (i.e. it calls find_new_groups(),
- + and the old new-group code was moved to addng.c).
- + o intrp.c: changes to support ignoring ORGANIZATION. A slight tweak
- + allows the organization file not not end in a newline.
- + o intrp.c: moved the tmpbuf[] into the #ifdefs where it is used (to
- + avoid an "unused" warning. In the process, discovered a bug in the
- + non-BSD code that tries to copy an uninitialized (now undefined) tmpbuf
- + into buf (when it should be copying 's').
- + o last.c: extended the contents of .rnlast to support the new-group
- + code. Handles reading the old .rnlast style gracefully.
- + o ng.c: reset the value of extractdest and extractprog when entering
- + a newsgroup. This allows someone to set SAVEDIR to a roving value
- + (like %c) and have an 'e' in group1 not affect an 'e' in group2.
- + Within the group, each 'e' command will repeat the last destination
- + and program if no parameters are used.
- + o ng.c: note the values returned by the GROUP command in rrn so that
- + we can add new articles that came in since our last fetch of the
- + active file. I've upgraded the ngmax[] array to non-debug status,
- + and now use it to keep the group's maximum value (like abs1st[]
- + does for the minimum). This allows getngsize() to return a value
- + higher than what is contained in the active file copy, and also
- + to fetch a new copy of the active file if enough time has elapsed
- + since our last fetch.
- + o ng.c: fixed forcelast to get cleared before processing a command,
- + and to get set on '-' just in case it goes to the end of the group.
- + o ng.c: fixed some indent problems.
- + o ngdata.c: added the lastactfetch variable (rrn) to keep track of
- + when the active file copy was last fetched.
- + o ngdata.c: getngsize() uses the value in ngmax[] to override the
- + high active-file-copy value. If ngmax[] is bigger and enough time
- + has gone by, a new copy of the active file is fetched.
- + o ngdata.c: more indent tweaks.
- + o ngdata.c: fixed a1st to be a long (it might have been int or long,
- + and sscanf() was expecting an int), and added "last" to sscanf the
- + high newsgroup value at the same time abs1st is being set. Fixed
- + a problem with the sscanf being executed if the NNTP command failed.
- + o ngdata.c: minor tweak to the "notdef" comment to make it accurate.
- + o ngdata.h: MINFETCHTIME is set for 5 minutes before another active
- + fetch is allowed.
- + o rcln.c: minor optimization to remove tmpp; removed #ifdef DEBUGGING
- + around the ngmax[] array; put \n's before the bogus newsgroup
- + warnings.
- + o Allow some slack in the "newsgroup was reset" check to allow for the
- + interaction of the ngmax[] array setting a high value in .newsrc
- + that a cached version of the active file doesn't reflect yet (can
- + happen when starting up rn in some rare cases).
- + o rcstuff.c: broke out the code that parses the newsrc line into the
- + function parse_rcline(). This allows the addition of a new function,
- + abandon_ng() that restores the startup values for the current group
- + from the .oldnewsrc file (bound to the 'A' command at the newsgroup
- + level).
- + o rcstuff.c: made addnewbydefault a global variable so that it could
- + be reset by the 'a' command. Without this, typing 'N' during the
- + startup code would render the 'a' command useless, since all the
- + groups you might want to add get an immediate 'n'o answer.
- + o rcstuff.c: the "if (mode == 'i')" check is needed to keep the
- + new-newsgroup-finding code sane.
- + o rcstuff.c: I changed the code to add groups with a space after
- + the ":" or "!". It's not really required, but it avoids having the
- + construct "group!187,193" show up in your .newsrc file when cross-
- + posted articles are marked as read for unsubscribed groups.
- + o rcstuff.c: the .newnewsrc-writing code uses the "cantrecreate"
- + message from common.h, and the comments and indentation are fixed,
- + as well as one extra ferror() check added.
- + o rcstuff.c: the newsrc-array-growing code now zeros the ngnum array.
- + o respond.c: moved a negation used with strlen() to avoid problems if
- + strlen() is declared to be unsigned.
- + o respond.c: changed the behavior of the 'f' command to ask the
- + user if it is an unrelated topic.
- + o rn.c: added the "direction" flag that makes the 'p' and 'P' command
- + work in all circumstances. Without this, if you have a restriction
- + enabled and an empty non-matching group in the way, it won't backup
- + at all (and might even go forward!).
- + o rn.c: your change for outputting the prompt later in the game allows
- + for the removal of the reprompt_newsgroup label with the moving of
- + the dfltcmd initialization also.
- + o rn.c: when rrn visits the end of the newsgroups prompt, it will
- + fetch a new copy of the active file if enough time has elapsed.
- + o rn.c: changed the "not found" prompt to mention the 'a' command
- + (which is much more useful than 'g' alone). Made 'g's error
- + message a little more clear too.
- + o rn.c: more indentation twiddles.
- + o rn.c: removed the check for ' ' from the catchup code, because it's
- + getting changed into the default command by setdef().
- + o rn.c: added the 'A' command to abandon the current newsgroup's
- + changes back to the startup state (which is contained in .oldnewsrc).
- + o rn.c: have the 'a' command reset addnewbydefault to 0.
- + o term.c: renamed ospeed "outspeed" so that it doesn't conflict with
- + some weird system's polution of the name space.
- + o term.c: support for the termios systems added.
- + o term.c: winch_catcher() needed an int parameter for ANSI systems.
- + o util.c: reorganized a couple returns to avoid warnings about not
- + returning a value in a function.
- + o Configure now knows about DG Avion.
- +
- NEW FEATURES OF RN 4.4.2 vs RN 4.4
- New % interpolation
- %E the last directory to which extracted files were
- Index: Pnews.SH
- Prereq: 4.4.2.1
- *** Pnews.SH Sun Dec 1 12:07:40 1991
- --- ../rn4.4.3/Pnews.SH Sat Feb 22 21:54:45 1992
- ***************
- *** 4,12 ****
- echo "Extracting Pnews (with variable substitutions)"
- $spitshell >Pnews <<!GROK!THIS!
- $startsh
- ! # $Id: Pnews.SH,v 4.4.2.1 1991/12/01 18:05:42 sob PATCH_2 sob $
- #
- # $Log: Pnews.SH,v $
- # Revision 4.4.2.1 1991/12/01 18:05:42 sob
- # Patchlevel 2
- #
- --- 4,15 ----
- echo "Extracting Pnews (with variable substitutions)"
- $spitshell >Pnews <<!GROK!THIS!
- $startsh
- ! # $Id: Pnews.SH,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- #
- # $Log: Pnews.SH,v $
- + # Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + # Release 4.4 Patchlevel 3
- + #
- # Revision 4.4.2.1 1991/12/01 18:05:42 sob
- # Patchlevel 2
- #
- ***************
- *** 86,91 ****
- --- 89,95 ----
- # use them all set the unused ones to a non-null string such as 'none'.
- loc="$locpref"
- org="$orgpref"
- + multistate="$multistatepref"
- city="$citypref"
- state="$statepref"
- cntry="$cntrypref"
- ***************
- *** 104,109 ****
- --- 108,123 ----
- ypmatch=${ypmatch}
-
- !GROK!THIS!
- + case "$ignoreorg" in
- + define) $spitshell >>Pnews <<'!NO!SUBS!'
- + orgname=${NEWSORG-$orgname}
- + !NO!SUBS!
- + ;;
- + *) $spitshell >>Pnews <<'!NO!SUBS!'
- + orgname=${NEWSORG-${ORGANIZATION-$orgname}}
- + !NO!SUBS!
- + ;;
- + esac
- $spitshell >>Pnews <<'!NO!SUBS!'
- dotdir=${DOTDIR-${HOME-$LOGDIR}}
- tmpart=$dotdir/.article
- ***************
- *** 128,135 ****
- fi
-
- case $cntry in
- ! can) stpr=Province ;;
- ! *) stpr=State ;;
- esac
-
- headerfile=""
- --- 142,154 ----
- fi
-
- case $cntry in
- ! can) Stpr=Province ; stpr=province ;;
- ! *) Stpr=State ; stpr=state ;;
- ! esac
- !
- ! case $multistate in
- ! pnw) multistpr="Pacific NorthWest" ;;
- ! *) multistpr="Multi-State Area" ;;
- esac
-
- headerfile=""
- ***************
- *** 258,265 ****
- $cntry.*)
- $echo 'This program posts news to many machines throughout the country.'
- ;;
- $state.*)
- ! $echo 'This program posts news to many machines throughout the state.'
- ;;
- $city.*)
- $echo 'This program posts news to many machines throughout the city.'
- --- 277,287 ----
- $cntry.*)
- $echo 'This program posts news to many machines throughout the country.'
- ;;
- + $multistate.*)
- + $echo "This program posts news to many machines throughout the ${multistpr}."
- + ;;
- $state.*)
- ! $echo "This program posts news to many machines throughout the ${stpr}."
- ;;
- $city.*)
- $echo 'This program posts news to many machines throughout the city.'
- ***************
- *** 442,453 ****
- n*) ;;
- *)
- if $test -f $dotdir/.signature; then
- ! echo $n "Append .signature file? [y] $c"
- read ans
- case $ans in
- ''|y*)
- ! echo "-- " >> $tmpart
- ! cat $dotdir/.signature >> $tmpart
- ;;
- esac
- fi
- --- 464,475 ----
- n*) ;;
- *)
- if $test -f $dotdir/.signature; then
- ! $echo $n "Append .signature file? [y] $c"
- read ans
- case $ans in
- ''|y*)
- ! $echo "-- " >> $tmpart
- ! $cat $dotdir/.signature >> $tmpart
- ;;
- esac
- fi
- ***************
- *** 596,602 ****
- Local organization: $loc
- Organization: $org
- City: $city
- ! $stpr: $state
- Country: $cntry
- Continent: $cont
- Everywhere: world
- --- 618,625 ----
- Local organization: $loc
- Organization: $org
- City: $city
- ! $Stpr: $state
- ! $multistpr: $multistate
- Country: $cntry
- Continent: $cont
- Everywhere: world
- ***************
- *** 620,626 ****
- The actual area designators to use depend on where you are, of course.
- EOH
- ;;
- ! ''|$loc*|$org*|$city*|$state*|$cntry*|$cont*|$defdist)
- ;;
- world*|comp*|news*|sci*|rec*|misc*|soc*|talk*|alt*)
- dist=''
- --- 643,649 ----
- The actual area designators to use depend on where you are, of course.
- EOH
- ;;
- ! ''|$loc*|$org*|$city*|$state*|$multistate*|$cntry*|$cont*|$defdist)
- ;;
- world*|comp*|news*|sci*|rec*|misc*|soc*|talk*|alt*)
- dist=''
- ***************
- *** 727,733 ****
- ;;
- esac
-
- - orgname=${NEWSORG-${ORGANIZATION-$orgname}}
- case $orgname in
- /*) orgname=`$cat $orgname` ;;
- esac
- --- 750,755 ----
- Index: Rnmail.SH
- Prereq: 4.4
- *** Rnmail.SH Sat Nov 9 15:25:15 1991
- --- ../rn4.4.3/Rnmail.SH Sat Feb 22 21:55:02 1992
- ***************
- *** 4,12 ****
- echo "Extracting Rnmail (with variable substitutions)"
- $spitshell >Rnmail <<!GROK!THIS!
- $startsh
- ! # $Id: Rnmail.SH,v 4.4 1991/09/09 20:18:23 sob Exp sob $
- #
- # $Log: Rnmail.SH,v $
- # Revision 4.4 1991/09/09 20:18:23 sob
- # release 4.4
- #
- --- 4,15 ----
- echo "Extracting Rnmail (with variable substitutions)"
- $spitshell >Rnmail <<!GROK!THIS!
- $startsh
- ! # $Id: Rnmail.SH,v 4.4.3.1 1992/02/01 03:09:32 sob PATCH_3 sob $
- #
- # $Log: Rnmail.SH,v $
- + # Revision 4.4.3.1 1992/02/01 03:09:32 sob
- + # Release 4.4 Patchlevel 3
- + #
- # Revision 4.4 1991/09/09 20:18:23 sob
- # release 4.4
- #
- ***************
- *** 76,81 ****
- --- 79,94 ----
- rm=${rm-rm}
-
- !GROK!THIS!
- + case "$ignoreorg" in
- + define) $spitshell >>Rnmail <<'!NO!SUBS!'
- + orgname=${NEWSORG-$orgname}
- + !NO!SUBS!
- + ;;
- + *) $spitshell >>Rnmail <<'!NO!SUBS!'
- + orgname=${NEWSORG-${ORGANIZATION-$orgname}}
- + !NO!SUBS!
- + ;;
- + esac
- $spitshell >>Rnmail <<'!NO!SUBS!'
- dotdir=${DOTDIR-${HOME-$LOGDIR}}
- tmpart=$dotdir/.letter
- ***************
- *** 140,146 ****
-
- # now build a file with a header for them to edit
-
- - orgname=${NEWSORG-${ORGANIZATION-$orgname}}
- case $orgname in
- /*) orgname=`$cat $orgname` ;;
- esac
- --- 153,158 ----
- Index: patchlevel
- Prereq: 2
- *** patchlevel Sun Dec 1 12:11:38 1991
- --- ../rn4.4.3/patchlevel Sat Feb 22 21:53:46 1992
- ***************
- *** 1 ****
- ! Patch: 2
- --- 1 ----
- ! Patch: 3
-